package org.comple.erp.pojo.sales;

import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 
 * @TableName salesslip
 */
public class SalesSlip implements Serializable {
    /**
     * 
     */
    private String id;

    /**
     * 
     */
    private String code;

    /**
     * 
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date date;

    /**
     * 凭证
     */
    private Integer voucher_id;

    /**
     * 0（进行中）, 1(已完成)
     */
    private Integer state;

    /**
     * 
     */
    private String workNumber;

    /**
     * 
     */
    private String remarks;

    /**
     * 
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date productDate;

    /**
     * 0(未进行退货)，1（部分退货），2（全部退货）
     */
    private Integer returnState;

    /**
     * 1.(快递物流)，2（自配），3（其他）
     */
    private Integer delivery;

    /**
     * 1.（现结），2（货到付款），2（分期付款），3（货到付款），4（先款后付）
     */
    private Integer payment;

    /**
     * 
     */
    private String customer_address;

    /**
     * 
     */
    private String customer_code;

    /**
     * 
     */
    private String company_code;

    /**
     * 收款优惠
     */
    private BigDecimal taxCost;

    /**
     * 优惠后金额
     */
    private BigDecimal taxEndCost;

    /**
     * 本次支付金额
     */
    private BigDecimal thisPayment;

    /**
     * 0(yes),1(no) 需要开票
     */
    private Integer isInv;

    /**
     * 制单人
     */
    private String checked_by;

    /**
     * 0(存在)，1（删除）
     */
    private Integer isDel;

    /**
     * 商品数量
     */
    private Integer itemCount;

    /**
     * 本次欠款
     */
    private BigDecimal thisDebt;

    /**
     * 源销售订单编号
     */
    private  String salesOrderCode;

    /**
     * 报价单编号
     */
    private String quotationCode;

    /**
     * 审核状态
     */
    private Integer auditStatus;

    /**
     * 销售金额
     */
    private BigDecimal salesAmount;

    /**
     * 税额
     */
    private BigDecimal taxAmount;

    /**
     * 已核销金额
     */
    private BigDecimal written_off_amount;
    /**
     * 本次核销金额
     */
    private BigDecimal current_written_off_amount;

    /**
     * 应付总额
     */
    public BigDecimal slipPrice;

    /**
     * 核销状态
     */
    private Integer hxStatus;

    /**
     * 收款到期日
     */
    private String returnDate;

    /**
     * 退货订单编号
     */
    private String returnCode;

    /**
     * 是否退货
     */
    private int isReturn;

    //仓库完成状态
    private int warehouseState;

    /**
     * 工作人员名称
     */
    private String workName;

    private String customerName;

    private String customerType;

    private String customerId;

    private BigDecimal notAmount;

    private BigDecimal invoicedAmount;


    private Date checkDate;

    private String salesOrderId;

    private String account;

    private String accountId;


    private static final long serialVersionUID = 1L;

    public String getAccountId() {
        return accountId;
    }

    public void setAccountId(String accountId) {
        this.accountId = accountId;
    }

    public String getAccount() {
        return account;
    }

    public void setAccount(String account) {
        this.account = account;
    }

    public int getWarehouseState() {
        return warehouseState;
    }

    public void setWarehouseState(int warehouseState) {
        this.warehouseState = warehouseState;
    }

    public Date getCheckDate() {
        return checkDate;
    }

    public void setCheckDate(Date checkDate) {
        this.checkDate = checkDate;
    }

    public String getQuotationCode() {
        return quotationCode;
    }

    public void setQuotationCode(String quotationCode) {
        this.quotationCode = quotationCode;
    }

    public String getSalesOrderId() {
        return salesOrderId;
    }

    public void setSalesOrderId(String salesOrderId) {
        this.salesOrderId = salesOrderId;
    }

    public String getCustomerId() {
        return customerId;
    }

    public void setCustomerId(String customerId) {
        this.customerId = customerId;
    }

    public BigDecimal getNotAmount() {
        return notAmount;
    }

    public void setNotAmount(BigDecimal notAmount) {
        this.notAmount = notAmount;
    }

    public BigDecimal getInvoicedAmount() {
        return invoicedAmount;
    }

    public void setInvoicedAmount(BigDecimal invoicedAmount) {
        this.invoicedAmount = invoicedAmount;
    }

    public String getCustomerName() {
        return customerName;
    }

    public void setCustomerName(String customerName) {
        this.customerName = customerName;
    }

    public String getCustomerType() {
        return customerType;
    }

    public void setCustomerType(String customerType) {
        this.customerType = customerType;
    }

    public String getWorkName() {
        return workName;
    }

    public void setWorkName(String workName) {
        this.workName = workName;
    }

    public int getIsReturn() {
        return isReturn;
    }

    public void setIsReturn(int isReturn) {
        this.isReturn = isReturn;
    }

    public String getReturnCode() {
        return returnCode;
    }

    public void setReturnCode(String returnCode) {
        this.returnCode = returnCode;
    }

    public BigDecimal getWritten_off_amount() {
        return written_off_amount;
    }

    public void setWritten_off_amount(BigDecimal written_off_amount) {
        this.written_off_amount = written_off_amount;
    }

    public String getReturnDate() {
        return returnDate;
    }

    public void setReturnDate(String returnDate) {
        this.returnDate = returnDate;
    }

    public Integer getHxStatus() {
        return hxStatus;
    }

    public void setHxStatus(Integer hxStatus) {
        this.hxStatus = hxStatus;
    }

    public BigDecimal getSlipPrice() {
        return slipPrice;
    }

    public void setSlipPrice(BigDecimal slipPrice) {
        this.slipPrice = slipPrice;
    }

    public BigDecimal getCurrent_written_off_amount() {
        return current_written_off_amount;
    }

    public void setCurrent_written_off_amount(BigDecimal current_written_off_amount) {
        this.current_written_off_amount = current_written_off_amount;
    }


    /**
     * 
     */
    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    /**
     * 
     */
    public String getCode() {
        return code;
    }

    /**
     * 
     */
    public void setCode(String code) {
        this.code = code;
    }

    /**
     * 
     */
    public Date getDate() {
        return date;
    }

    /**
     * 
     */
    public void setDate(Date date) {
        this.date = date;
    }

    /**
     * 凭证
     */
    public Integer getVoucher_id() {
        return voucher_id;
    }

    /**
     * 凭证
     */
    public void setVoucher_id(Integer voucher_id) {
        this.voucher_id = voucher_id;
    }

    /**
     * 0（进行中）, 1(已完成)
     */
    public Integer getState() {
        return state;
    }

    /**
     * 0（进行中）, 1(已完成)
     */
    public void setState(Integer state) {
        this.state = state;
    }

    /**
     * 
     */
    public String getWorkNumber() {
        return workNumber;
    }

    /**
     * 
     */
    public void setWorkNumber(String workNumber) {
        this.workNumber = workNumber;
    }

    /**
     * 
     */
    public String getRemarks() {
        return remarks;
    }

    /**
     * 
     */
    public void setRemarks(String remarks) {
        this.remarks = remarks;
    }

    /**
     * 
     */
    public Date getProductDate() {
        return productDate;
    }

    /**
     * 
     */
    public void setProductDate(Date productDate) {
        this.productDate = productDate;
    }

    /**
     * 0(未进行退货)，1（部分退货），2（全部退货）
     */
    public Integer getReturnState() {
        return returnState;
    }

    public void setReturnState(Integer returnState) {
        this.returnState = returnState;
    }

    /**
     * 1.(快递物流)，2（自配），3（其他）
     */
    public Integer getDelivery() {
        return delivery;
    }

    /**
     * 1.(快递物流)，2（自配），3（其他）
     */
    public void setDelivery(Integer delivery) {
        this.delivery = delivery;
    }

    /**
     * 1.（现结），2（货到付款），2（分期付款），3（货到付款），4（先款后付）
     */
    public Integer getPayment() {
        return payment;
    }

    /**
     * 1.（现结），2（货到付款），2（分期付款），3（货到付款），4（先款后付）
     */
    public void setPayment(Integer payment) {
        this.payment = payment;
    }

    /**
     * 
     */
    public String getCustomer_address() {
        return customer_address;
    }

    /**
     * 
     */
    public void setCustomer_address(String customer_address) {
        this.customer_address = customer_address;
    }

    /**
     * 
     */
    public String getCustomer_code() {
        return customer_code;
    }

    /**
     * 
     */
    public void setCustomer_code(String customer_code) {
        this.customer_code = customer_code;
    }

    /**
     * 
     */
    public String getCompany_code() {
        return company_code;
    }

    /**
     * 
     */
    public void setCompany_code(String company_code) {
        this.company_code = company_code;
    }

    /**
     * 收款优惠
     */
    public BigDecimal getTaxCost() {
        return taxCost;
    }

    /**
     * 收款优惠
     */
    public void setTaxCost(BigDecimal taxCost) {
        this.taxCost = taxCost;
    }

    /**
     * 优惠后金额
     */
    public BigDecimal getTaxEndCost() {
        return taxEndCost;
    }

    /**
     * 优惠后金额
     */
    public void setTaxEndCost(BigDecimal taxEndCost) {
        this.taxEndCost = taxEndCost;
    }

    /**
     * 本次支付金额
     */
    public BigDecimal getThisPayment() {
        return thisPayment;
    }

    /**
     * 本次支付金额
     */
    public void setThisPayment(BigDecimal thisPayment) {
        this.thisPayment = thisPayment;
    }

    /**
     * 0(yes),1(no) 需要开票
     */
    public Integer getIsInv() {
        return isInv;
    }

    /**
     * 0(yes),1(no) 需要开票
     */
    public void setIsInv(Integer isInv) {
        this.isInv = isInv;
    }

    /**
     * 制单人
     */
    public String getChecked_by() {
        return checked_by;
    }

    /**
     * 制单人
     */
    public void setChecked_by(String checked_by) {
        this.checked_by = checked_by;
    }

    /**
     * 0(存在)，1（删除）
     */
    public Integer getIsDel() {
        return isDel;
    }

    /**
     * 0(存在)，1（删除）
     */
    public void setIsDel(Integer isDel) {
        this.isDel = isDel;
    }

    /**
     * 商品数量
     */
    public Integer getItemCount() {
        return itemCount;
    }

    /**
     * 商品数量
     */
    public void setItemCount(Integer itemCount) {
        this.itemCount = itemCount;
    }

    /**
     * 本次欠款
     */
    public BigDecimal getThisDebt() {
        return thisDebt;
    }

    /**
     * 本次欠款
     */
    public void setThisDebt(BigDecimal thisDebt) {
        this.thisDebt = thisDebt;
    }


    public String getSalesOrderCode() {
        return salesOrderCode;
    }

    public void setSalesOrderCode(String salesOrderCode) {
        this.salesOrderCode = salesOrderCode;
    }

    public Integer getAuditStatus() {
        return auditStatus;
    }

    public void setAuditStatus(Integer auditStatus) {
        this.auditStatus = auditStatus;
    }

    public BigDecimal getSalesAmount() {
        return salesAmount;
    }

    public void setSalesAmount(BigDecimal salesAmount) {
        this.salesAmount = salesAmount;
    }

    public BigDecimal getTaxAmount() {
        return taxAmount;
    }

    public void setTaxAmount(BigDecimal taxAmount) {
        this.taxAmount = taxAmount;
    }
}